package cn.itrip.trade.service.impl;

import cn.itrip.beans.pojo.ItripHotelOrder;
import cn.itrip.beans.pojo.ItripHotelTempStore;
import cn.itrip.dao.mapper.ItripHotelOrderMapper;
import cn.itrip.dao.mapper.ItripHotelTempStoreMapper;
import cn.itrip.trade.service.OrderService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class OrderServiceImpl implements OrderService {
    @Resource
    private ItripHotelOrderMapper itripHotelOrderMapper;
@Resource
private ItripHotelTempStoreMapper itripHotelTempStoreMapper;
    @Override
    public ItripHotelOrder loadItripHotelOrder(String orderNo) throws Exception {
        ItripHotelOrder itripHotelOrder = itripHotelOrderMapper.selectByOrderNo(orderNo);
        if (null != itripHotelOrder) {
            return itripHotelOrder;
        }
        return null;
    }

    @Override
    public void paySuccess(String orderNo, int payTepe, String tradeNo,long hotelId ) {
        try {
            ItripHotelOrder itripHotelOrder =loadItripHotelOrder(orderNo);
            ItripHotelTempStore itripHotelTempStore=new ItripHotelTempStore();
            itripHotelOrder.setOrderStatus(2);
            itripHotelOrder.setPayType(payTepe);
            itripHotelOrder.setTradeNo(tradeNo);
            itripHotelOrderMapper.updateByOrderNo(itripHotelOrder);
            itripHotelTempStore.setHotelId(hotelId);
//            //减库存
//            itripHotelTempStoreMapper.updateByHotelId(itripHotelTempStore);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void payFailed(String orderNo,int payTepe, String tradeNo,long hotelId) {
        try {
            ItripHotelOrder itripHotelOrder = loadItripHotelOrder(orderNo);
            itripHotelOrder.setOrderStatus(1);
            itripHotelOrder.setPayType(payTepe);
            itripHotelOrder.setTradeNo(tradeNo);
            itripHotelOrderMapper.updateByOrderNo(itripHotelOrder);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}